Trong kiến trúc của các hệ thống C++ quy mô lớn, việc định nghĩa một cấu trúc chính thức struct cho mỗi nhóm dữ liệu tạm thời thường là thừa thãi. Cấu trúc std::tuple chức năng như một container không đồng nhất, mở rộng từ std::pair để lưu giữ một số lượng tùy ý các kiểu khác nhau.
1. Xây dựng và Giới hạn
Khác với các container chuẩn, hàm tạo của tuple hàm tạo là rõ ràng. Bạn không thể dùng khởi tạo sao chép với danh sách; bạn phải dùng khởi tạo trực tiếp hoặc std::make_tuple.
tuple<int, double> t2 = {1, 2.5}; // Lỗi!
2. Truy cập và Nhận diện
Các thành viên được truy cập thông qua get<i>(tên_tuple), trong đó i phải là biểu thức hằng số xác định tại thời điểm biên dịch. Thông tin chi tiết có thể được truy vấn qua tuple_size và tuple_element bằng cách sử dụng decltype.
3. Logic Quan hệ
Các tuple được so sánh theo thứ tự từ điển. So sánh chỉ hợp lệ nếu cả hai tuple đều có cùng số lượng thành phần và kiểu tương ứng hỗ trợ các toán tử quan hệ.